From: Jan Beulich Date: Mon, 13 May 2013 12:36:06 +0000 (+0200) Subject: also move compat mode VCPUOP_register_vcpu_info into common code X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~6821 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22man:///%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22man:/?a=commitdiff_plain;h=00c1c1f045b2051dde6b3bcb06b9570833859a45;p=xen.git also move compat mode VCPUOP_register_vcpu_info into common code Otherwise, with arch_compat_vcpu_op() calling arch_do_vcpu_op() to handle it, it results in -ENOSYS after 6ff9e4f7 ("xen: move VCPUOP_register_vcpu_info to common code") for 32-bit x86 domains. Signed-off-by: Jan Beulich Acked-by: Keir Fraser --- diff --git a/xen/arch/x86/x86_64/domain.c b/xen/arch/x86/x86_64/domain.c index d630ef4c14..2096b2c582 100644 --- a/xen/arch/x86/x86_64/domain.c +++ b/xen/arch/x86/x86_64/domain.c @@ -9,14 +9,6 @@ #include #include -#define xen_vcpu_info vcpu_info -CHECK_SIZE_(struct, vcpu_info); -#undef xen_vcpu_info - -#define xen_vcpu_register_vcpu_info vcpu_register_vcpu_info -CHECK_vcpu_register_vcpu_info; -#undef xen_vcpu_register_vcpu_info - #define xen_vcpu_get_physid vcpu_get_physid CHECK_vcpu_get_physid; #undef xen_vcpu_get_physid @@ -63,7 +55,6 @@ arch_compat_vcpu_op( break; } - case VCPUOP_register_vcpu_info: case VCPUOP_get_physid: rc = arch_do_vcpu_op(cmd, v, arg); break; diff --git a/xen/common/compat/domain.c b/xen/common/compat/domain.c index 44ba78ddc7..e756f54c68 100644 --- a/xen/common/compat/domain.c +++ b/xen/common/compat/domain.c @@ -15,6 +15,14 @@ CHECK_vcpu_set_periodic_timer; #undef xen_vcpu_set_periodic_timer +#define xen_vcpu_info vcpu_info +CHECK_SIZE_(struct, vcpu_info); +#undef xen_vcpu_info + +#define xen_vcpu_register_vcpu_info vcpu_register_vcpu_info +CHECK_vcpu_register_vcpu_info; +#undef xen_vcpu_register_vcpu_info + int compat_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg) { struct domain *d = current->domain; @@ -64,6 +72,7 @@ int compat_vcpu_op(int cmd, int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg) case VCPUOP_set_periodic_timer: case VCPUOP_stop_periodic_timer: case VCPUOP_stop_singleshot_timer: + case VCPUOP_register_vcpu_info: case VCPUOP_send_nmi: rc = do_vcpu_op(cmd, vcpuid, arg); break;